Field of the Invention
The present invention relates to the field of distributed computing and in particular, to apparatus, systems, and methods to facilitate distributed orchestration and deployment of cloud-based applications including multi-tier applications.
Description of Related Art
The performance of computing applications may often be increased by distributing the computational workload across a networked cluster of computers. A physical networked cluster of computers with attendant software facilitating virtualization is often referred to as a “cloud” or “cloud infrastructure” or simply an infrastructure. Cloud computing facilitates on-demand access to resources, which may be rapidly scaled up or down in proportion to user requirements.
Clouds may be public and/or private. For example, publicly available clouds or “public clouds”, may be accessed programmatically (e.g. using Application Programming Interfaces (APIs)) over the Internet and may be made available as virtual machines (VMs) on a pay-per-use basis by third parties to customers. On the other hand, organizations may have private clouds for use by employees or customers within an enterprise's data center and/or may use a hybrid cloud, which may be a combination of public-private clouds to deploy and run applications.
When a cloud based application is deployed on a cloud, resources for the application may be provisioned, and one more services that components of the application depend upon may be started in some specified order in a process termed orchestration. Cloud orchestration refers to processes to automate (at least partially) a variety of tasks related to managing and coordinating software, resources, and services on a cloud. Conventional techniques for cloud orchestration may give rise to inefficiencies, may create bottlenecks, and may also decrease fault tolerance.
Therefore, there is a need for systems, methods and apparatus to facilitate efficient orchestration and deployment of distributed applications including cloud-based applications.